﻿using System.Collections.Generic;
using T4UtilityBelt.UxDesigns.Bindings;
using T4UtilityBelt.UxDesigns.Controls;
using T4UtilityBelt.Writers;

namespace T4UtilityBelt.UxDesigns.Interfaces
{
    public interface IControl : IContentElement
    {
        ControlCollection Controls { get; }

        bool HasControls { get; }

        string Uid { get; set; }

        string Name { get; set; }

        Binding DataContext { get; set; }

        string Style { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Namespace")]
        string Namespace { get; set; }

        //string HelpText { get; set; }

        //string IsEnabledProperty { get; set; }

        //string IsVisibleProperty { get; set; }

        IEnumerable<Control> AllControls();
    }
}